Cache Line Boundary Allocation for Garbage Collected Systems

نویسندگان

  • Prasad Ajit Wagle
  • Edward F. Gehringer
چکیده

WAGLE, PRASAD AJIT. Cache Line Boundary Allocation for Garbage Collected Systems. (Under the direction of Dr. Edward F Gehringer.) Garbage-collected systems became increasingly popular with the release of the Java programming language. Cache performance of garbage-collected systems has been a heavily researched area. Past work has shown that cache-line utilization has been poor in garbagecollected systems. This work aims to reduce the cache miss rate by aligning objects to cacheline boundaries during object allocation. Object alignment on a cache line makes that object use minimum number of cache lines. This improves the overall utilization of a cache line between the time a memory block is brought into the cache and evicted from it. Improved cache utilization translates into improvement in total program execution time. Both cache performance (cache miss rate) and total execution time is studied on the Java Grande, DaCapo suite, Spec JBB2000, Spec JVM98 and soot benchmarks. The boundary allocation strategy is shown to improve cache performance/execution time for most memory-intensive benchmarks. The strategy performs well when implemented in the old generation of generational collectors. Boundary allocation in the young generation shows only marginal performance improvement. Most objects in the young generation “die” very soon. Hence the advantages of alignment do not outweigh the extra work of allocation. Performance of a benchmark will improve if fragmentation due to cache line alignment is diminished. It is shown that fragmentation depends on the object size distribution. Benchmarks that show performance improvement have a denser object-size distribution for object size equal to less than half the cache-line size and vice versa. It is also shown that fragmentation would decrease (hence performance would improve) with bigger cache lines. Cache Line Boundary Allocation for Garbage Collected Systems by Prasad Ajit Wagle A thesis submitted to the Graduate Faculty of North Carolina State University in partial fulfillment of the requirements for the Degree of Master of Science Computer Engineering Raleigh, North Carolina

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hardware Concurrent Garbage Collection for Short-Lived Objects in Mobile Java Devices

jHISC is an object-oriented processor for embedded system aiming at accelerating Java execution by hardware approach. Garbage collection is one of the critical tasks in a Java Virtual Machine. In this paper, we have conduct a study of dynamic object allocation and garbage collection behavior of Java program based on SPECjvm 98 benchmark suite and MIDP applications for mobile phones. Life, size,...

متن کامل

Expiration Classes for Implicit Memory Management

Expiration classes are a concept to analyze memory management systems. It reveals the costs and the source of costs. Explicit memory management, garbage collection, region-based memory management and cyclic allocation are analyzed in this master thesis. Furthermore, we present AGC, a new memory management system which combines garbage collection with cyclic allocation. Cyclic allocation has ver...

متن کامل

A Cache-Pinning Strategy for Improving Generational Garbage Collection

In generational garbage collection, the youngest generation of the heap is frequently traversed during garbage collection. Due to randomness of the traversal, memory access patterns are unpredictable and cache performance becomes crucial to garbage-collection efficiency. Our proposal to improve cache performance of garbage collection is to “pin” the youngest generation (sometimes called the nur...

متن کامل

A High-Performance Architecture for Real-Time Garbage Collection

Hardware-assisted garbage collection offers the potential of high average-case allocation rates and memory bandwidth, with very low worst-case allocation, fetch, and store times. This paper describes an architecture that allows memory fetch and store operations to execute, on the average, nearly as fast as traditional memory. The architecture is high-performance in that it includes support for ...

متن کامل

Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems

Hybrid storage solutions use NAND flash memory based Solid State Drives (SSDs) as non-volatile cache and traditional Hard Disk Drives (HDDs) as lower level storage. Unlike a typical cache, internally, the flash memory cache is divided into cache space and over-provisioned space, used for garbage collection. We show that balancing the two spaces appropriately helps improve the performance of hyb...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007